home *** CD-ROM | disk | FTP | other *** search
/ Champak 132 (Alt) / Vol 132.iso / games / nameless.swf / scripts / DefineSprite_3150 / frame_1 / DoAction.as
Encoding:
Text File  |  2011-06-09  |  6.0 KB  |  265 lines

  1. if(!setVars)
  2. {
  3.    var moveSpeed = 3;
  4.    var addSpeed = 0.5;
  5.    var gravity = 0;
  6.    var maxGravity = 8;
  7.    var airSpeed = 0.5;
  8.    var active = false;
  9.    var xTar = 0;
  10.    xscale = _xscale;
  11.    var attacking = false;
  12.    var hitSound = new Sound();
  13.    var die = false;
  14.    hitSound.attachSound("punch5");
  15.    var removeNum = 100;
  16.    var melt = false;
  17.    var startX = _X;
  18.    var startY = _Y;
  19.    var bat = false;
  20.    var health = 2;
  21.    var mNum = 0;
  22.    var setVars = true;
  23. }
  24. stop();
  25. var getFrame = function()
  26. {
  27.    if(die == true)
  28.    {
  29.       frame = "die";
  30.    }
  31.    else if(melt == true)
  32.    {
  33.       frame = "melt";
  34.    }
  35.    else if(bat == true)
  36.    {
  37.       frame = "hit";
  38.    }
  39.    else if(running == false && attacking == false && falling == false)
  40.    {
  41.       frame = "stand";
  42.    }
  43.    else if(falling == true)
  44.    {
  45.       frame = "stand";
  46.    }
  47.    else if(attacking == true)
  48.    {
  49.       frame = "attack";
  50.    }
  51.    gotoAndStop(frame);
  52. };
  53. var onEnterFrame = function()
  54. {
  55.    _root.checkVis(this);
  56.    if(_root.remake == true)
  57.    {
  58.       die = false;
  59.       melt = false;
  60.       removeNum = 100;
  61.       _X = startX;
  62.       _Y = startY;
  63.       active = false;
  64.       bat = false;
  65.       _visible = true;
  66.       _alpha = 100;
  67.       health = 2;
  68.    }
  69.    if(_root.pauseMode == false)
  70.    {
  71.       if(active == true)
  72.       {
  73.          if(die == false && melt == false && bat == false)
  74.          {
  75.             if(_root.candy.hitTest(hit))
  76.             {
  77.                if(_root.candy.dir == "left")
  78.                {
  79.                   _root.candy.dir = "right";
  80.                }
  81.                else
  82.                {
  83.                   _root.candy.dir = "left";
  84.                }
  85.                hitSound.start();
  86.                hitSound.start();
  87.                if(health <= 0)
  88.                {
  89.                   die = true;
  90.                }
  91.                else
  92.                {
  93.                   health -= 1;
  94.                   bat = true;
  95.                }
  96.             }
  97.             else if(_root.cm.g.hit.hitTest(hit))
  98.             {
  99.                hitSound.start();
  100.                if(health <= 0)
  101.                {
  102.                   die = true;
  103.                }
  104.                else
  105.                {
  106.                   health -= 1;
  107.                   bat = true;
  108.                }
  109.             }
  110.             else if(_root.cm.g.sparkle.hitTest(hit))
  111.             {
  112.                melt = true;
  113.             }
  114.             if(attacking == false)
  115.             {
  116.                if(_root.cm._x > _X)
  117.                {
  118.                   dir = "right";
  119.                   _xscale = - xscale;
  120.                }
  121.                else if(_root.cm._x < _X)
  122.                {
  123.                   dir = "left";
  124.                   _xscale = xscale;
  125.                }
  126.             }
  127.             if(!bound.hitTest(_root.cm))
  128.             {
  129.                if(attacking == false)
  130.                {
  131.                   running = true;
  132.                   if(_root.cm._x > _X)
  133.                   {
  134.                      if(!_root.bound.hitTest(_X + xTar + addSpeed,_Y - 10,true))
  135.                      {
  136.                         xTar += addSpeed;
  137.                      }
  138.                   }
  139.                   else if(_root.cm._x < _X)
  140.                   {
  141.                      if(!_root.bound.hitTest(_X - xTar - addSpeed,_Y - 10,true))
  142.                      {
  143.                         xTar -= addSpeed;
  144.                      }
  145.                   }
  146.                }
  147.             }
  148.             else
  149.             {
  150.                running = false;
  151.                if(xTar > 0)
  152.                {
  153.                   xTar -= addSpeed;
  154.                }
  155.                else if(xTar < 0)
  156.                {
  157.                   xTar += addSpeed;
  158.                }
  159.                mNum++;
  160.                num = random(200);
  161.                if((num == 1 or mNum == 60) && attacking == false && falling == false && running == false)
  162.                {
  163.                   mNum = 0;
  164.                   attacking = true;
  165.                }
  166.             }
  167.          }
  168.          else
  169.          {
  170.             if(removeNum < 0)
  171.             {
  172.                if(_alpha > 0)
  173.                {
  174.                   _alpha = _alpha - 1;
  175.                }
  176.                else
  177.                {
  178.                   _visible = false;
  179.                }
  180.             }
  181.             else
  182.             {
  183.                removeNum -= 1;
  184.             }
  185.             if(xTar > 0)
  186.             {
  187.                xTar -= addSpeed;
  188.             }
  189.             else if(xTar < 0)
  190.             {
  191.                xTar += addSpeed;
  192.             }
  193.          }
  194.          if(xTar > moveSpeed)
  195.          {
  196.             xTar = moveSpeed;
  197.          }
  198.          else if(xTar < - moveSpeed)
  199.          {
  200.             xTar = - moveSpeed;
  201.          }
  202.          if(_root.bound.hitTest(_X,_Y + 1,true))
  203.          {
  204.             falling = false;
  205.          }
  206.          else
  207.          {
  208.             falling = true;
  209.          }
  210.          if(falling == true)
  211.          {
  212.             grav = 0;
  213.             switched = false;
  214.             i = 0;
  215.             while(i < gravity)
  216.             {
  217.                if(switched == false)
  218.                {
  219.                   if(_root.bound.hitTest(_X,_Y + i,true))
  220.                   {
  221.                      switched = true;
  222.                   }
  223.                   else
  224.                   {
  225.                      grav = i;
  226.                   }
  227.                }
  228.                i++;
  229.             }
  230.             _Y = _Y + i;
  231.             if(gravity < maxGravity)
  232.             {
  233.                gravity += airSpeed;
  234.             }
  235.          }
  236.          else
  237.          {
  238.             gravity = 0;
  239.          }
  240.          while(_root.bound.hitTest(_X,_Y - 0.5,true))
  241.          {
  242.             _Y = _Y - 0.5;
  243.          }
  244.          if((die == true or melt == true) && g._currentframe == g._totalframes)
  245.          {
  246.             g.stop();
  247.          }
  248.          else
  249.          {
  250.             g.play();
  251.          }
  252.       }
  253.       if(_root.cam.hitTest(this))
  254.       {
  255.          active = true;
  256.       }
  257.    }
  258.    else
  259.    {
  260.       stop();
  261.       g.stop();
  262.    }
  263.    getFrame();
  264. };
  265.